import { request } from "../../request/index";

Page({
  /**
   * 页面的初始数据
   */
  data: {
    // 左侧菜单数据
    leftMenuList: [],
    // 右侧商品数据
    rightMenuList: [],
    // 被点击的左侧菜单
    currentIndex: 0,
    // 右侧内容滚动条顶部的距离
    scrollTop: 0,
  },

  // 接口返回数据
  Cates: [],
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // 1.获取本地存储的数据 (小程序中也是存在本地存储)
    const Cates = wx.getStorageSync("cates");
    // 2.判断
    if (!Cates) {
      this.getCates();
    } else {
      // 有旧的数据 定义过期时间
      if (Date.now() - Cates.time > 1000 * 10) {
        this.getCates();
      } else {
        // 可以使用旧数据
        this.Cates = Cates.data;
        // 构造左侧大菜单数据
        let leftMenuList = this.Cates.map((v) => v.cat_name);
        // 构造右侧商品数据
        let rightMenuList = this.Cates[0].children;

        this.setData({
          leftMenuList,
          rightMenuList,
        });
      }
    }

    // this.getCates();
  },

  // 获取分类数据
  async getCates() {
    const res = await request({
      url: "/categories"
    })
      this.Cates = res;

      // 把接口数据存在本地存储中
      wx.setStorageSync("cates", { time: Date.now(), data: this.Cates });

      // 构造左侧大菜单数据
      let leftMenuList = this.Cates.map((v) => v.cat_name);
      // 构造右侧商品数据
      let rightMenuList = this.Cates[0].children;

      this.setData({
        leftMenuList,
        rightMenuList,
      });
  },
  // 左侧菜单点击时间
  handleItemTap(e) {
    const { index } = e.currentTarget.dataset;
    let rightMenuList = this.Cates[index].children;
    this.setData({
      currentIndex: index,
      rightMenuList,
      scrollTop: 0,
    });
  },
});
